package de.hs_mannheim.visualscheduler.scheduling;

public interface Scheduler {
	
	/**
	 * Perform a complete scheduling of all Process Definitions.
	 * 
	 * @param processDefinitions
	 *            to perform scheduling for
	 * @param timeSliceLength
	 *            to use if necessary
	 * @return the complete scheduling result
	 */
	SchedulingResult performScheduling(ProcessDefinition[] processDefinitions, int timeSliceLength);
}
